// 节流 触发函数后过一段时间才会执行下次函数
// 如果在这段延迟时间内函数再次被调用，它不会立即执行，而是等待当前延迟结束后再执行。
export default (fn: Function, delay: number) => {
  let valid = true;
  return () => {
    if (!valid) {
      return false;
    }
    valid = false;
    setTimeout(() => {
      fn();
      valid = true;
    }, delay);
  };
};
